home *** CD-ROM | disk | FTP | other *** search
/ C++ für Kids / C++ for kids.iso / Buch / Monstr2b.cpp < prev    next >
C/C++ Source or Header  |  1999-01-29  |  2KB  |  77 lines

  1. //---------------------------------------------------------------------------
  2. #include <vcl\vcl.h>
  3. #pragma hdrstop
  4.  
  5. #include "Monstr2b.h"
  6. //---------------------------------------------------------------------------
  7. #pragma resource "*.dfm"
  8.  
  9. class TMonster
  10. {
  11. private:
  12.   String Name;
  13.   String Wesen;
  14. public:
  15.   void Erscheinen(void);
  16.   virtual String Typ (void) {return "Monster";};
  17.   TMonster (String N, String W)
  18.   {Name = N; Wesen = W;};
  19. };
  20.  
  21. class TGMonster : public TMonster
  22. {
  23. public:
  24.   virtual String Typ (void) {return "GeistesMonster";};
  25.   TGMonster (String N, String W): TMonster (N, W) {};
  26. };
  27.  
  28. class TSMonster : public TMonster
  29. {
  30. public:
  31.   virtual String Typ (void) {return "SeelenMonster";};
  32.   TSMonster (String N, String W): TMonster (N, W) {};
  33. };
  34.  
  35. //---------------------------------------------------------------------------
  36.  
  37. TMonster  *Frank;   // Ganz der Vater?
  38. TGMonster *Albert;  // Etwa Einstein?
  39. TSMonster *Sigmund; // Doch nicht Freud?
  40. TForm1 *Form1;
  41.  
  42. //---------------------------------------------------------------------------
  43. __fastcall TForm1::TForm1(TComponent* Owner)
  44.     : TForm(Owner)
  45. {
  46. }
  47. //---------------------------------------------------------------------------
  48. void TMonster::Erscheinen (void)
  49. {
  50.   Form1->Label1->Caption = "Name:    " + Name;
  51.   Form1->Label2->Caption = "Wesen:    " + Wesen;
  52.   Form1->Label3->Caption = "Typ:    " + Typ();
  53. }
  54. //---------------------------------------------------------------------------
  55. void __fastcall TForm1::FormCreate(TObject *Sender)
  56. {
  57.   Frank   = new TMonster  ("Frankie", "ungew÷hnlich");
  58.   Albert  = new TGMonster ("Berti", "nachdenklich");
  59.   Sigmund = new TSMonster ("Sigi", "mitfⁿhlend");
  60. }
  61. //---------------------------------------------------------------------------
  62. void __fastcall TForm1::Button1Click(TObject *Sender)
  63. {
  64.   Frank->Erscheinen ();
  65. }
  66. //---------------------------------------------------------------------------
  67. void __fastcall TForm1::Button2Click(TObject *Sender)
  68. {
  69.   Albert->Erscheinen ();
  70. }
  71. //---------------------------------------------------------------------------
  72. void __fastcall TForm1::Button3Click(TObject *Sender)
  73. {
  74.   Sigmund->Erscheinen ();
  75. }
  76. //---------------------------------------------------------------------------
  77.